﻿


layui.use(function () {
    var table = layui.table;
    var form = layui.form;
    var $ = layui.jquery;
    var DOMTokenList = localStorage.getItem("token");
    let ids = [];
    let check = [];




    // 动态加载仓库
    $.ajax({
        url: '/Foundation/GetWare',
        type: "get",
        data: { Token: DOMTokenList },
        success: function (res) {
            var resdata = JSON.parse(res);
            // 假设服务器返回的已经是 JSON 格式，无需手动解析
            console.log(resdata);  // 调试输出返回的结果

            // 直接从 res 中获取 data 数据
            var selectData = resdata.data;

            if (Array.isArray(selectData) && selectData.length > 0) {
                // 为 select 渲染选项
                var selectHtml = '<option value="">请选择</option>';
                selectData.forEach(function (item) {
                    selectHtml += `<option value=${item.warehouseId}>${item.warehouseName}</option>`;
                });

                // 更新 select 元素的 HTML
                $('#wid').html(selectHtml);

                // 渲染 select 元素
                form.render('select');
            } else {
                console.warn('返回的 selectData 为空或不是有效的数组', selectData);
            }

            // 为 select 绑定事件
            form.on('select(wid)', function (data) {
                console.log('选中的值：', data.value);
            });
        },
        error: function (err) {
            console.error('请求失败:', err);  // 更详细的错误日志
        }
    });


    var datas = {
        StoreCode: $('#StoreCode').val() || '',
        StoreName: $('#StoreName').val() || '',
        wid: $('#wid').val() || ''
    }
    var obj = {
        StoreCode: StoreCode,
        StoreName: StoreName,
        wid: wid,
        pageIndex: 1,
        PageSize: 1000,
        Token: DOMTokenList
    }

    ///列表显示
   
    $.ajax({
        url: '/Foundation/GetStorehouse', // 此处为静态模拟数据，实际使用时需换成真实接口
        type: 'GET',
        data: {
            StoreCode: '',
            StoreName: '',
            wid: '',
            pageIndex: 1,
            PageSize: 1000,
            Token: DOMTokenList
        },
        success: function (res) {

            var resdata = JSON.parse(res);
            console.log(resdata);
            if (resdata != null) {
                // 创建渲染实例
                table.render({
                    elem: '#ID-table-demo-templet',
                    data: resdata.data.list,
                    page: true,
                    height: '800px',
                    limit: 15,
                    limits: [15, 20, 30],
                    cols: [[
                        { type: 'checkbox', fixed: 'left' },
                        // 未自定义模板的普通列
                        { field: 'storehouseCode', fixed: 'left', width: 120, title: '库位编号', sort: true },
                        // 模板 - 选择器写法
                        { field: 'storehouseName', width: 120, title: '库位名称' },
                        { field: 'storehouseType', width: 120, title: '库位类型' },
                        { field: 'warehouseName', width: 120, title: '仓库' },
                        // 模板 - 函数写法
                        {
                            field: 'isDisable', width: 120, title: '是否禁用', templet: function (d) {
                                if (d.isDisable == true) {
                                    return '<input type="checkbox" checked="checked" name="aaa">';
                                } else {
                                    return '<input type="checkbox" name="aaa">';
                                }
                            }
                        },
                        {
                            field: 'isDefaults', width: 120, title: '是否默认', templet: function (d) {
                                if (d.isDefaults == true) {
                                    return '<input type="checkbox" checked="checked" name="aaa">';
                                } else {
                                    return '<input type="checkbox" name="aaa">';
                                }
                            }
                        },
                        // 模板 - 普通字符写法
                        { field: 'creatTime', width: 130, title: '创建时间' },
                        // 模板中可包含任意字段、任意内容（如表单等）
                        { field: 'sremark', title: '备注', width: 85 },
                        {
                            title: '其他', minWidth: 200, templet: function (d) {
                                return ' <button class="layui-btn layui-btn-primary layui-border" onclick="EditItem(' + d.storehouseId + ')">编辑</button>' +
                                    '<button class="layui-btn layui-btn-primary layui-border"  id="btnDel" onclick="Del(' + d.storehouseId + ')">删除</button>';
                            }

                        }
                    ]],
                    toolbar: '#toolbarDemo',
                    defalutToolbar: ['exports'],
                });
            }
            else {
                layer.msg('获取数据失败', { icon: 2 });
            }
        }

    });


    //查询
    $('#search').click(function () {
        var StoreCode = $('#StoreCode').val() || '';
        var StoreName = $('#StoreName').val() || '';
        var wid = $('#wid').val() || '';
        var data = {
            StoreCode: StoreCode,
            StoreName: StoreName,
            wid: wid,
        }
        $.ajax({
            url: '/Foundation/GetStorehouse', // 此处为静态模拟数据，实际使用时需换成真实接口
            type: 'GET',
            data: {
                StoreCode: StoreCode,
                StoreName: StoreName,
                wid: wid,
                pageIndex: 1,
                PageSize: 1000,
                Token: DOMTokenList
            },

            success: function (res) {
                var resdata = JSON.parse(res);
                console.log(resdata);
                if (resdata != null) {
                    // 创建渲染实例
                    table.render({
                        elem: '#ID-table-demo-templet',
                        data: resdata.data.list,
                        page: true,
                        height: '800px',
                        limit: 15,
                        limits: [15, 20, 30],
                        cols: [[
                            { type: 'checkbox', fixed: 'left' },
                            // 未自定义模板的普通列
                            { field: 'storehouseCode', fixed: 'left', width: 80, title: '库位编号', sort: true },
                            // 模板 - 选择器写法
                            { field: 'storehouseName', width: 80, title: '库位名称' },
                            { field: 'storehouseType', width: 80, title: '库位类型' },
                            { field: 'warehouseName', width: 80, title: '仓库' },
                            // 模板 - 函数写法
                            {
                                field: 'isDisable', width: 120, title: '是否禁用', templet: function (d) {
                                    if (d.isDisable == true) {
                                        return '<input type="checkbox" checked="checked" name="aaa">';
                                    } else {
                                        return '<input type="checkbox" name="aaa">';
                                    }
                                }
                            },
                            {
                                field: 'isDefaults', width: 120, title: '是否默认', templet: function (d) {
                                    if (d.isDefaults == true) {
                                        return '<input type="checkbox" checked="checked" name="aaa">';
                                    } else {
                                        return '<input type="checkbox" name="aaa">';
                                    }
                                }
                            },
                            // 模板 - 普通字符写法
                            { field: 'creatTime', width: 115, title: '创建时间' },
                            // 模板中可包含任意字段、任意内容（如表单等）
                            { field: 'sremark', title: '备注', width: 85 },
                            {
                                title: '其他', minWidth: 200, templet: function (d) {
                                    return ' <button class="layui-btn layui-btn-primary layui-border" onclick="EditItem(' + d.storehouseId + ')">编辑</button>' +
                                        '<button class="layui-btn layui-btn-primary layui-border"  id="btnDel" onclick="Del(' + d.storehouseId + ')">删除</button>';
                                }

                            }
                        ]],
                        toolbar: '#toolbarDemo',
                        defalutToolbar: ['exports'],
                    });
                }
                else {
                    layer.msg('获取数据失败', { icon: 2 });
                }
            }

        });

    })


    //获取复选框数据


    table.on('checkbox(test)', function (obj) {
        //console.log(obj)
        // console.log(obj.type); // 得到触发事件的类型：all（代表全选）| one（代表单选）
        //console.log(obj.checked); // 得到checkbox选中状态：true（选中）| false（取消）\
        //console.log(obj.othis); // 得到原始DOM对象
        console.log(obj.data); //得到当前行数据

        // 获取所有选中的值
        var checkeddata = obj.data; // 获取所有选中的行数据
        if (obj.checked) {
            ids.push(checkeddata.storehouseId);
            check.push(checkeddata);
        } else {
            var indexToRemove = ids.indexOf(checkeddata.storehouseId);
            if (indexToRemove !== -1) {
                ids.splice(indexToRemove, 1);  // 从 ids 数组中移除
                check.splice(indexToRemove, 1); // 从 check 数组中移除
            }
        }

        console.log(ids); // 打印所有选中的id
        console.log(check); // 打印所有选中的id
    });

    ///批量删除
    $('#myDelete').click(function () {
        if (ids.length == 0) {
            layer.msg('至少选一项', { icon: 2 });
            return;
        }
        var data = {
            ids: ids,
            DelName: "卢芳",
            Token: DOMTokenList
        }
        layer.confirm('确定删除吗？', { icon: 3 }, function () {
            $.ajax({
                url: '/Foundation/DelStore',
                type: 'Put',
                data: data,
                success: function (res) {
                    var resdata = JSON.parse(res);
                    if (resdata.data > 0) {
                        layer.msg('删除成功', { icon: 1, time: 5000, }, function () {
                            location.reload();
                        });

                    } else {
                        layer.msg('删除失败', { icon: 1, time: 5000, });
                    }
                }
            })
        }), function () {
            layer.msg('已取消', {
                time: 5000, //5s后自动关闭
                btn: ['确定'],
            });
        }

    })

    //单删
    window.Del = function (storehouseId) {
        var datas = {
            ids: storehouseId,
            DelName: "卢芳",
            Token: DOMTokenList
        }
        layer.confirm('确定删除吗？', { icon: 3 }, function () {
            $.ajax({
                url: '/Foundation/DelStore', // 此处为静态模拟数据，实际使用时需换成真实接口
                type: 'Put',
                data: datas,
                success: function (res) {
                    var resdata = JSON.parse(res);
                    console.log(resdata);
                    if (resdata.data > 0) {
                        layer.msg('删除成功', { icon: 1 }, function () {
                            location.reload();
                        });

                    } else {
                        layer.msg('删除失败', { icon: 1 });
                    }
                }
            })
        }), function () {
            layer.msg('点击取消的回调');
        }


    }


    //跳转修改
    window.EditItem = function (id) {
        location.href = '/Foundation/UptStorehouse?id=' + id;
    }

});



